package com.business.dynamic.service;


import com.baomidou.mybatisplus.plugins.Page;
import com.business.common.dto.R;
import com.business.common.utils.PageUtils;
import com.business.dynamic.entity.DynamicMessage;

import java.util.List;
import java.util.Map;

/**
 * 动态评论或者赞消息表:业务接口类
 * @author chenjiehong
 * @date 2019-12-02 17:55:03
 * @since 1.0
 */
public interface DynamicMessageService {

    /**
     * 新增消息表
     *
     *
     * @param dynamicMessage
     * @date 2019-11-29 14:28:27
     */
    Integer add(DynamicMessage dynamicMessage);


    /**
     * 更新所以为已读状态
     * @param userId
     * @param type
     * @return
     */
    Integer updateAll(Integer userId, Integer type);

    /**
     * 分页查询消息表
     *
     *
     * @param page
     * @param type
     * @param isAll
     * @date 2019-11-29 14:28:27
     */
    PageUtils queryPage(Page<DynamicMessage> page, Integer userId, Integer type, Integer isAll);


    /**
     * 获取所有未读的总数
     * @param userId
     * @return
     */
    Integer getCount(Integer userId);

    /**
     * 获取未读各类型消息的数量
     * @param userId
     * @return
     */
    List<Map<String, Integer>> getCountByType(Integer userId);

    
    /**
     * 删除动态评论或者赞消息表
     * 
     * 
     * @param itemId
     * @param type
     * @date 2019-12-02 17:55:03
     */
    Integer delete(Integer itemId,Integer type);
}